<?php
class Communication_Form_Emailconfig extends Zen_Form
{
    public function init ()
    {

        parent::init();
        $this->setName('form');
        
        $transport = new Zend_Form_Element_Radio('transport', array(
			'multiOptions'=>array(
				'mail'=>'Отправка через sendmail',
				'smtp'=>'Отправка через SMTP сервер'),
			'label'=>'Транспорт',
			'validators'=>array(
				array(
					'InArray',
					true,
					array(
						array(
							'mail',
							'smtp'),
						true)))));
		
		// Задаем разделитель пробел, для того что бы радио кнопки располагались в ряд
		$transport->setSeparator('<br/>');
		$transport->setRequired(true);
        
        
        $smtpauth = new Zend_Form_Element_Radio('smtpauth', array(
			'multiOptions'=>array(
				'login'=>'LOGIN',
				'plain'=>'PLAIN',
				'crammd5'=>'CRAM-MD5'
        ),
			'label'=>'Метод аутентификации'
        	
		));
		
		// Задаем разделитель пробел, для того что бы радио кнопки располагались в ряд
		$smtpauth->setSeparator('<br/>');
		$smtpauth->setRequired(true);
        
        $smtpserver = new Zend_Form_Element_Text('smtpserver',
        array('required' => true ,
          'label' => 'Адрес SMTP сервера:' , 
          'maxlength' => '300' , 
          'description'=>'для mail.ru smtp.mail.ru',
          'class'=>'zend_text',  
          'validators' => array(
        			array('StringLength' , true , array(0 , 300 , 'utf-8')),
        			array('Hostname'),
        			)));
        $smtpserver->setFilters ( array ('StringTrim', 'StripTags' ));
        
        $port = new Zend_Form_Element_Text('port',
        array('required' => false ,
          'label' => 'Порт SMTP сервера:' , 
          'maxlength' => '300' , 
          'description'=>'если порт стандартный, оставьте поле пустым',
          'class'=>'zend_text',  
          'validators' => array(
        			array('Int'),
        			)));
        $port->setFilters ( array ('StringTrim', 'StripTags' ));
        
        $encrypt = new Zend_Form_Element_Text('encrypt',
	        array(
	          'label' => 'Метод шифрования:' , 
	          'maxlength' => '300' , 
	          'description'=>'ssl, tls и т.д.',
	          'class'=>'zend_text',  
	          'validators' => array(
	        			array('StringLength' , true , array(0 , 300 , 'utf-8')),
	        			)));
        $encrypt->setFilters ( array ('StringTrim', 'StripTags' ));
        
        $smtpusername = new Zend_Form_Element_Text('smtpusername',
        array('required' => true ,
          'label' => 'Имя пользователя:' , 
          'maxlength' => '300' , 
          'description'=>'пример: admin@example.com',
          'class'=>'zend_text'));
        $smtpusername->setFilters ( array ('StringTrim', 'StripTags' ));
        $smtppassword = new Zend_Form_Element_Password('smtppassword',
        array('required' => true ,
          'label' => 'Пароль:' , 
          'maxlength' => '300' ,
          'class'=>'zend_text'));
        $smtpusername->setFilters ( array ('StringTrim', 'StripTags' ));
    	
        
        
        
        $sumbit=new Zend_Form_Element_Submit('submit',array('label'=>'Сохранить','class'=>'button ui-corner-all ui-state-default'));
        $this->addElements(array($transport,$smtpauth,$smtpserver,$smtpusername,$smtppassword, $port, $encrypt));
        
        $this->addDisplayGroup(array('smtpauth','smtpserver','smtpusername','smtppassword', 'port', 'encrypt'), 'smtpGroup', 
        array('legend' => 'Настройки SMTP соединения','class'=>'ui-corner-all','style'=>'display:none;')
        );
        $this->getDisplayGroup('smtpGroup')->removeDecorator('DtDdWrapper');
        $this->addElements(array($sumbit));
    }
}